using UnityEngine;

namespace UnityTouchTable.Runtime
{
    /// <summary>
    /// Marker项接口
    /// </summary>
    public interface IMarkerItem
    {
        /// <summary>
        /// Marker项ID
        /// </summary>
        int MarkerItemID
        {
            get;
        }

        /// <summary>
        /// 初始化
        /// </summary>
        void Init();

        /// <summary>
        /// 添加Marker
        /// </summary>
        /// <param name="centerPosition">中心位置</param>
        /// <param name="initAngle">初始角度</param>
        void AddMarker(Vector2 centerPosition, float initAngle);

        /// <summary>
        /// 更新Marker
        /// </summary>
        /// <param name="centerPosition">中心位置</param>
        /// <param name="initAngle">初始角度</param>
        /// <param name="currentAngle">当前角度</param>
        /// <param name="relativeAngle">相对角度</param>
        void UpdateMarker(Vector2 centerPosition, float initAngle, float currentAngle, float relativeAngle);

        /// <summary>
        /// 移除Marker
        /// </summary>
        void RemoveMarker();
    }
}